import { lazyReportBatch } from '../report.js';

export default function observerLCP() {
    const entryHandler = (list) => {
        if(observer) {
            observer.disconnect();
        }
        for(let entry of list.getEntries()) {
                const json = entry.toJSON();
                console.log(json);
                const reportData = {
                    ...json,
                    type:"performance",
                    // 子类型
                    subType:entry.name,
                    pageUrl:window.location.href
                }
                // 发送数据
                lazyReportBatch(reportData);

        }
    }
    /**
     * 统计和计算lcp的时间
     */
    const observer = new PerformanceObserver(entryHandler);
    // buffered: true：表示在 PerformanceObserver 初始化时，立即获取已经存在的性能条目，并将它们传递给回调函数。
    // buffered: false（默认）：表示只观察 PerformanceObserver 初始化之后新产生的性能条目。
    observer.observe({type:"largest-contentful-paint",buffered:true});
}